Shortly after getting a couple of little (very little) apps going on my Newton, I came to the conclusion that it was going to be vital to figure out scrolling and overviews before I could get most of the things I wanted to do to work. I had a look at Rick Eye's scroller demo (thanks, Rick!) and also at the checkbook example that came with NTK. I wanted to do something a little more complex than Rick's scroller (I wanted multiple fields and whatnot) but found that checkbook was big enough that it was hard for me to figure out just how it worked.
For that reason, I did this project and found out in the process that it's pretty hard to write an app that supports overviews and scrolling and is also simple and straightforward. Nevertheless, here's an overview demo for whatever it's worth. Some quite small portions of the code come from checkbook as do some of the ideas, but the large majority is mine (which is probably to its disadvantage). In figuring out how it works, the thing is to remember the order in which a view's scripts are called. Opening the inspector will produce lots of output showing this and indicating that I had trouble figuring it all out. Also remember (as is mentioned in the NTK readme file) that all user protos are automatically defined in the base view as pt_<proto file name>.
Basically, the main view's viewSetupFormScript gets executed and does some initialization, including creating some dummy data in a script that will eventually read that data from a soup. Then the two child views (one linked to the overview and the other linked to the entry view) get their scripts called, and then the main view's viewSetupDoneScript calls the main view's viewOverviewScript to display the overview and hide the entry view.
At that point, tapping on a line in the overview calls the overview's viewClickScript which decides which item has been tapped and calls the base view's viewOverviewScript to toggle into the entry view. (Tapping the new button does the same thing after creating a blank item and tapping the overview button just arbitrarily decides that you must want to edit the last visible item since you didn't tap on one.)
In the entry view, tapping the overview button does the same thing -- it cleans up and calls the base view's viewOverviewScript.
There's a little more to it than that, but I hope that that gives anyone who cares a head start in figuring it out.
There are probably about a bzillion inefficiencies here, but it does appear to work at the moment. I'm sure that it would be smarter to work with the soup as you go along rather than reading it into an array at the beginning and writing it back out at the end, but I haven't figured out much about soups yet and it's easy to pretend that I'm reading it in at the beginning and writing it out at the end.
Beware: this code is not thoroughly tested. It very probably contains serious bugs. Use it at your own risk.